// 首先引入Mock
const Mock = require('mockjs')

// 设置拦截ajax请求的相应时间,响应时间1-2s timeout: '1000-2000'
Mock.setup({
    timeout: '100-200'
})

let configArray = []

// 使用webpack的require.context()遍历所有mock文件
const files = require.context('./', true, /\.js$/)

const whiteNameList = ['./index.js', './paramsDeal.js', './tokenValidate.js']
files.keys().forEach((key) => {
    if (whiteNameList.includes(key)) return
    configArray = configArray.concat(files(key).default)
})

// 注册所有的mock服务
configArray.forEach((item) => {
    // console.log('item', item)
    for (const [path, target] of Object.entries(item)) {
        const protocol = path.split('|')
        // protocol[1] 路径 ; protocol[0] 请求方式; target: 对象或者函数
        // console.log('target', target)
        Mock.mock(new RegExp('^' + protocol[1]), protocol[0], typeof target === 'function' ? (options) => target(options) : target)
    }
})
